/**
 * mysql数据库配置
 */
//1. 引入mysql模块
const mysql = require('mysql')

//2. 创建数据库连接对象
const db = mysql.createConnection({
    protocol: "mysql",
    host: '127.0.0.1',  //数据库地址
    user: 'root',       //数据库的登录名
    password: '123456', //数据量的登录密码
    database: 'student_management',   //默认要访问的数据库
    port: 3306          //数据库的端口号，若端口号为3306则可以省略不写
})

//3. 连接数据库
db.connect(err=>{
    if(err){
        console.log("数据库链接失败");
        throw(err)
    }else {
        console.log("数据库链接成功");
        initDB();
    }
})

// 初始化数据库
function initDB() {
    // 创建学生表
    let sql = `CREATE TABLE IF NOT EXISTS students(
            id INT UNSIGNED AUTO_INCREMENT,
            snumber VARCHAR(20) NOT NULL,
            name VARCHAR(20) NOT NULL,
            sex VARCHAR(2) DEFAULT '女',
            classes VARCHAR(20),
            cscore INT,
            jscore INT,
            dbscore INT,
            PRIMARY KEY (id)
        )ENGINE=INNODB DEFAULT CHARSET=utf8;`
    db.query(sql, (err, result) => {
        if (err) {
            console.log(err);
            throw err
        } else {
            // console.log(result);
            // console.log("创建表成功")
        }
    })
}

// 数据库查询
function query(sql, params=[]) {
    return new Promise((resolve, reject) => {
        db.query(sql, params, (err, result) => {
            if (err) {
                reject(err);
            } else {
                resolve(result);
            }
        })
    })
}

module.exports = query
